home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_d / qrep10b.zip / MDREP.PAS < prev    next >
Pascal/Delphi Source File  |  1996-01-16  |  4KB  |  133 lines

  1. unit Mdrep;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Quickrep, DB, DBTables, ExtCtrls, Buttons, Spin;
  8.  
  9. type
  10.   TMDForm = class(TForm)
  11.     MDRep: TQuickReport;
  12.     Title: TQRBand;
  13.     CustomerHeading: TQRBand;
  14.     QRDBText1: TQRDBText;
  15.     QRLabel3: TQRLabel;
  16.     QRLabel4: TQRLabel;
  17.     QRDBText3: TQRDBText;
  18.     QRDBText4: TQRDBText;
  19.     QRLabel5: TQRLabel;
  20.     QRDBText5: TQRDBText;
  21.     CustomerFooter: TQRBand;
  22.     QRDBCalc1: TQRDBCalc;
  23.     QRLabel7: TQRLabel;
  24.     PageFooter: TQRBand;
  25.     QRSysData1: TQRSysData;
  26.     Summary: TQRBand;
  27.     QRSysData2: TQRSysData;
  28.     OrderDetail: TQRBand;
  29.     QRDBText2: TQRDBText;
  30.     QRDBText7: TQRDBText;
  31.     QRDBCalc2: TQRDBCalc;
  32.     QRLabel6: TQRLabel;
  33.     CustomerTable: TTable;
  34.     OrdersTable: TTable;
  35.     CustomerDS: TDataSource;
  36.     OrderDS: TDataSource;
  37.     OrdersTableOrderNo: TFloatField;
  38.     OrdersTableSaleDate: TDateTimeField;
  39.     OrdersTableItemsTotal: TCurrencyField;
  40.     OrdersTableTaxRate: TFloatField;
  41.     OrdersTableFreight: TCurrencyField;
  42.     OrdersTableAmountPaid: TCurrencyField;
  43.     CustomerTableCustNo: TFloatField;
  44.     CustomerTableCompany: TStringField;
  45.     CustomerTablePhone: TStringField;
  46.     CustomerTableFAX: TStringField;
  47.     CustomerTableContact: TStringField;
  48.     OrdersTableCustNo: TFloatField;
  49.     QRLabel15: TQRLabel;
  50.     Image1: TImage;
  51.     QRLabel1: TQRLabel;
  52.     QRLabel16: TQRLabel;
  53.     QRDetailLink1: TQRDetailLink;
  54.     QRDetailLink2: TQRDetailLink;
  55.     ItemsTable: TTable;
  56.     ItemsDS: TDataSource;
  57.     ItemsTableOrderNo: TFloatField;
  58.     ItemsTableItemNo: TFloatField;
  59.     ItemsTablePartNo: TFloatField;
  60.     ItemsTableQty: TIntegerField;
  61.     ItemsTableDiscount: TFloatField;
  62.     ItemsDetail: TQRBand;
  63.     QRDBText8: TQRDBText;
  64.     PartsTable: TTable;
  65.     PartsDS: TDataSource;
  66.     PartsTablePartNo: TFloatField;
  67.     PartsTableVendorNo: TFloatField;
  68.     PartsTableDescription: TStringField;
  69.     PartsTableOnHand: TFloatField;
  70.     PartsTableOnOrder: TFloatField;
  71.     PartsTableCost: TCurrencyField;
  72.     PartsTableListPrice: TCurrencyField;
  73.     QRLabel2: TQRLabel;
  74.     QRLabel9: TQRLabel;
  75.     QRDBText6: TQRDBText;
  76.     QRDBText9: TQRDBText;
  77.     QRDBText10: TQRDBText;
  78.     ItemsTableTotal: TCurrencyField;
  79.     ItemsTableTotalAmount: TCurrencyField;
  80.     QRDBText11: TQRDBText;
  81.     QRDBText12: TQRDBText;
  82.     QRLabel10: TQRLabel;
  83.     QRLabel11: TQRLabel;
  84.     QRLabel12: TQRLabel;
  85.     QRLabel13: TQRLabel;
  86.     QRLabel14: TQRLabel;
  87.     QRShape1: TQRShape;
  88.     QRShape2: TQRShape;
  89.     QRShape3: TQRShape;
  90.     QRShape4: TQRShape;
  91.     QRShape5: TQRShape;
  92.     OrderFooter: TQRBand;
  93.     QRLabel17: TQRLabel;
  94.     QRShape6: TQRShape;
  95.     QRDBText13: TQRDBText;
  96.     procedure ItemsTableCalcFields(DataSet: TDataset);
  97.     procedure ItemsDetailBeforePrint(var PrintBand: Boolean);
  98.     procedure ItemsDetailAfterPrint(BandPrinted: Boolean);
  99.   private
  100.     { Private declarations }
  101.   public
  102.     { Public declarations }
  103.   end;
  104.  
  105. var
  106.   MDForm: TMDForm;
  107.  
  108. implementation
  109.  
  110. {$R *.DFM}
  111.  
  112. procedure TMDForm.ItemsTableCalcFields(DataSet: TDataset);
  113. begin
  114.    {ItemsTableTotalAmount.Value:=ItemsTableQty.AsFloat*PartsTableListPrice.AsFloat;}
  115.  
  116.    { Due to some strange bug the last detail table isn't always updated right so
  117.      we moved this to the BeforePrint event of the ItemsDetailBand}
  118. end;
  119.  
  120. procedure TMDForm.ItemsDetailBeforePrint(var PrintBand: Boolean);
  121. begin
  122.    { This should really go into the ItemsTableOncalcFields event handler but that
  123.      doesn't work correctly, by some strange reason}
  124.    ItemsTable.Edit;
  125.    ItemsTableTotalAmount.Value:=ItemsTableQty.AsFloat*PartsTableListPrice.AsFloat;
  126. end;
  127. procedure TMDForm.ItemsDetailAfterPrint(BandPrinted: Boolean);
  128. begin
  129.     ItemsTable.Cancel;
  130. end;
  131.  
  132. end.
  133.